//
// Created by Toosan on 2022/5/2.
//

#include "iostream"
#include "vector"
#include "algorithm"

using namespace std;

void printInfo(vector<int> vectorVar) {
    for (int i : vectorVar) {
        cout << i << endl;
    }
}

class TotalInt {
public:
    int operator()(const int number) {
        return number + 10;
    }
};

int main() {
    vector<int> vectorVar;
    vectorVar.insert(vectorVar.begin(), 1000);
    vectorVar.insert(vectorVar.begin(), 2000);
    vectorVar.insert(vectorVar.begin(), 3000);
    vectorVar.insert(vectorVar.begin(), 4000);
    printInfo(vectorVar);
    /**
     * 四个参数  作用：元素值改变
     * 1.迭代器起始位置
     * 2.迭代器结束位置
     * 3.自定义仿函数的结果赋给该参数
     * 4.自定义仿函数
     */
//    transform(vectorVar.begin(), vectorVar.end(), vectorVar.begin(), TotalInt());
//    printInfo(vectorVar);

    vector<int> vectorResult;
    vectorResult.resize(vectorVar.size());
    transform(vectorVar.begin(), vectorVar.end(), vectorResult.begin(), TotalInt());
    printInfo(vectorVar);
    printInfo(vectorResult);

    return 0;
}